package com.quectel.core.module.partyeducation.dto;

import com.quectel.core.module.partybuilding.dto.PartyOrganizationDto;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 *
 * @author ryan
 * @email ryan.ran@quectel.com
 * @date 2023/06/13 17:18
 */
@Data
@Schema
public class PartyEducationLibraryDto implements Serializable {

    /**
    * 
    */
    @Schema(description = "")
    private Long id;

    /**
    * 租户id
    */
    @Schema(description = "租户id")
    private Long tenantId;

    /**
    * 党组织id
    */
    @Schema(description = "党组织id")
    private Long partyId;

    /**
     * 文库名称
     */
    @Schema(description = "文库名称")
    private String name;

    /**
    * 资源名称
    */
    @Schema(description = "资源名称")
    private String resourceName;

    /**
    * 资源类型
    */
    @Schema(description = "资源类型")
    private Byte resourceType;

    /**
    * 资源编码
    */
    @Schema(description = "资源编码")
    private String resourceCode;

    /**
    * 封面路径
    */
    @Schema(description = "封面路径")
    private String coverUrl;

    /**
    * 浏览次数
    */
    @Schema(description = "浏览次数")
    private Integer browseCount;

    /**
    * 下载次数
    */
    @Schema(description = "下载次数")
    private Integer downloadCount;

    /**
    * 启用状态 0禁用 1启用
    */
    @Schema(description = "启用状态 0禁用 1启用")
    private Byte status;

    /**
    * 允许下载 1 允许 0 不允许
    */
    @Schema(description = "允许下载 1 允许 0 不允许")
    private Byte allowDownload;

    /**
    * 创建人
    */
    @Schema(description = "创建人")
    private String creator;

    /**
    * 创建时间
    */
    @Schema(description = "创建时间")
    private Date createTime;

    /**
    * 修改人
    */
    @Schema(description = "修改人")
    private String editor;

    /**
    * 修改时间
    */
    @Schema(description = "修改时间")
    private Date editTime;

    /************非数据库字段 start ************/
    @Schema(description = "党组织信息")
    private PartyOrganizationDto party;
    /************非数据库字段 end **************/
}
